/* 
连接数据库函数
连接数据库成功后, 立即插入一个用户: admin/111111
  查询admin用户, 如果没有才插入 
*/
// 引入mongoose
const mongoose = require('mongoose')
// 引入密码加密
const md5 = require('md5')
// 引入数据
const UserModel = require('./models/UserModel')

module.exports = () => {

  // 连接数据库, 产生一个promise(当连接成功后就会自动变为成功的promise)
  const promise = mongoose.connect('mongodb://localhost:27017/user_manage')

  // 绑定连接数据库的监听  返回promise 外面才能知道是否连接成功
  mongoose.connection.on('open', async () => {
    console.log('连接数据库成功');
    /* 
    连接数据库成功后, 立即插入一个用户: admin/111111
    查询admin用户, 如果没有才插入
    */
    const user = await UserModel.findOne({username: 'admin'})
    // 如果没有该用户  那么就添加一条
    if(!user){
      UserModel.create({
        username:  'admin',
        pwd: md5('1111121'),
        profile:'/admin3.png'
      })
    }
    // for (let index = 0; index < 20; index++) {
    //   UserModel.create({
    //     username: 'wh0516-'+ (index+1),
    //     pwd: md5('111111'),
    //     profile: '/upload/1.jpg'
    //   })
    // }

  })
  mongoose.connection.on('error', () => {
    console.log('连接数据库失败');
  })

  return promise

}

